<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NeuZephyr: D:/Users/Mgepahmge/Documents/C Program/NeuZephyr/include/NeuZephyr/Model.cuh File Reference</title>
<link rel="icon" href="NZ_logo2.png" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="NZ_logo2.png"/></td>
  <td id="projectalign">
   <div id="projectname">NeuZephyr
   </div>
   <div id="projectbrief">Simple DL Framework</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d522931ffa1371640980b621734a4381.html">Users</a></li><li class="navelem"><a class="el" href="dir_a7e6ee1ae3f772c9504a0b543f2027e2.html">Mgepahmge</a></li><li class="navelem"><a class="el" href="dir_e03f57e346cc4845a4c354a35630b169.html">Documents</a></li><li class="navelem"><a class="el" href="dir_231a0482af2b83c895f27ba7fe745141.html">C Program</a></li><li class="navelem"><a class="el" href="dir_0fa7fc3a0dfd304dbfc9dce9f6facfa2.html">NeuZephyr</a></li><li class="navelem"><a class="el" href="dir_e7295b03dab2e9cdf32139bd8ec2e607.html">include</a></li><li class="navelem"><a class="el" href="dir_657344ecc65cfc28732701509f8d8421.html">NeuZephyr</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a>  </div>
  <div class="headertitle"><div class="title">Model.cuh File Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Core class for computational graph construction and neural network modeling.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_compute_graph_8cuh_source.html">ComputeGraph.cuh</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Model.cuh:</div>
<div class="dyncontent">
<div class="center"><img src="_model_8cuh__incl.png" border="0" usemap="#a_d_1_2_users_2_mgepahmge_2_documents_2_c_01_program_2_neu_zephyr_2include_2_neu_zephyr_2_model_8cuh" alt=""/></div>
<map name="a_d_1_2_users_2_mgepahmge_2_documents_2_c_01_program_2_neu_zephyr_2include_2_neu_zephyr_2_model_8cuh" id="a_d_1_2_users_2_mgepahmge_2_documents_2_c_01_program_2_neu_zephyr_2include_2_neu_zephyr_2_model_8cuh">
<area shape="rect" title="Core class for computational graph construction and neural network modeling." alt="" coords="75,5,277,80"/>
<area shape="rect" href="_compute_graph_8cuh.html" title="Defines the ComputeGraph class for constructing and managing computational graphs in neural network m..." alt="" coords="109,128,243,155"/>
<area shape="poly" title=" " alt="" coords="179,80,179,112,173,112,173,80"/>
<area shape="rect" title=" " alt="" coords="5,203,59,229"/>
<area shape="poly" title=" " alt="" coords="152,158,72,198,70,193,150,153"/>
<area shape="rect" title=" " alt="" coords="82,203,139,229"/>
<area shape="poly" title=" " alt="" coords="167,157,134,193,130,189,163,153"/>
<area shape="rect" href="_operation_kernels_8cuh.html" title="CUDA Kernel Definitions for High&#45;Performance Tensor Operations." alt="" coords="71,352,217,379"/>
<area shape="poly" title=" " alt="" coords="177,156,151,337,145,336,172,155"/>
<area shape="rect" href="_optimizer_8cuh.html" title="Definition of optimization algorithms for training deep learning models." alt="" coords="213,203,315,229"/>
<area shape="poly" title=" " alt="" coords="193,153,239,191,235,195,190,157"/>
<area shape="rect" href="utils_8cuh_source.html" title=" " alt="" coords="461,277,531,304"/>
<area shape="poly" title=" " alt="" coords="211,153,328,200,461,267,459,272,326,205,209,158"/>
<area shape="rect" title=" " alt="" coords="78,501,135,528"/>
<area shape="poly" title=" " alt="" coords="128,381,107,401,90,428,87,442,88,457,96,487,91,488,82,458,82,442,86,426,103,398,125,377"/>
<area shape="rect" href="_dimension_8cuh_source.html" title=" " alt="" coords="144,427,253,453"/>
<area shape="poly" title=" " alt="" coords="156,378,182,412,178,416,151,381"/>
<area shape="poly" title=" " alt="" coords="184,456,136,494,133,490,181,452"/>
<area shape="rect" title=" " alt="" coords="440,501,512,528"/>
<area shape="poly" title=" " alt="" coords="248,451,426,497,424,503,246,456"/>
<area shape="rect" title=" " alt="" coords="190,501,268,528"/>
<area shape="poly" title=" " alt="" coords="206,453,221,486,216,488,202,455"/>
<area shape="rect" href="dl__export_8cuh_source.html" title=" " alt="" coords="309,501,408,528"/>
<area shape="poly" title=" " alt="" coords="228,451,318,492,316,497,225,456"/>
<area shape="rect" title=" " alt="" coords="326,277,436,304"/>
<area shape="poly" title=" " alt="" coords="286,228,350,267,347,271,283,232"/>
<area shape="rect" href="_nodes_8cuh.html" title="Declaration of the Node class and various derived node classes for neural network operations." alt="" coords="218,277,302,304"/>
<area shape="poly" title=" " alt="" coords="266,230,264,262,259,262,261,230"/>
<area shape="rect" title=" " alt="" coords="351,352,420,379"/>
<area shape="poly" title=" " alt="" coords="283,302,352,342,349,346,281,307"/>
<area shape="rect" href="_tensor_8cuh.html" title="Definition of the Tensor class for GPU&#45;based tensor operations." alt="" coords="241,352,327,379"/>
<area shape="poly" title=" " alt="" coords="267,304,278,336,273,338,262,305"/>
<area shape="poly" title=" " alt="" coords="242,382,178,404,151,416,134,428,118,457,111,487,106,486,113,455,130,425,149,412,176,399,240,377"/>
<area shape="poly" title=" " alt="" coords="271,381,226,419,223,415,267,377"/>
<area shape="poly" title=" " alt="" coords="285,379,280,414,268,454,249,490,244,487,263,452,274,412,280,378"/>
<area shape="poly" title=" " alt="" coords="328,374,369,393,388,407,404,425,409,443,405,460,385,492,381,489,400,458,403,443,399,428,385,411,367,397,326,379"/>
<area shape="rect" title=" " alt="" coords="328,427,389,453"/>
<area shape="poly" title=" " alt="" coords="299,377,337,414,333,418,295,381"/>
<area shape="poly" title=" " alt="" coords="498,305,481,486,476,486,492,304"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_model_8cuh__dep__incl.png" border="0" usemap="#a_d_1_2_users_2_mgepahmge_2_documents_2_c_01_program_2_neu_zephyr_2include_2_neu_zephyr_2_model_8cuhdep" alt=""/></div>
<map name="a_d_1_2_users_2_mgepahmge_2_documents_2_c_01_program_2_neu_zephyr_2include_2_neu_zephyr_2_model_8cuhdep" id="a_d_1_2_users_2_mgepahmge_2_documents_2_c_01_program_2_neu_zephyr_2include_2_neu_zephyr_2_model_8cuhdep">
<area shape="rect" title="Core class for computational graph construction and neural network modeling." alt="" coords="5,5,208,80"/>
<area shape="rect" href="_model_8cu_source.html" title=" " alt="" coords="22,128,191,187"/>
<area shape="poly" title=" " alt="" coords="109,95,109,127,104,127,104,95"/>
</map>
</div>
</div>
<p><a href="_model_8cuh_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnz_1_1_model.html">nz::Model</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for constructing neural network models with automatic computation graph management.  <a href="classnz_1_1_model.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Core class for computational graph construction and neural network modeling. </p>
<p>This header defines the Model class architecture supporting dynamic neural network composition, providing high-level abstractions for layer configuration, loss computation, and distributed execution. Implements GPU-accelerated computational graph management with automatic differentiation capabilities.</p>
<p>The Model class provides the following principal components:</p><ul>
<li><b>Graph Topology Management</b>: Declarative API for building directed acyclic computation graphs with lazy evaluation semantics</li>
<li><b>Operator Fusion</b>: Optimizes kernel launches through vertical integration of tensor operations</li>
<li><b>Memory Optimization</b>: Implements arena-based allocation with smart tensor lifetime tracking</li>
<li><b>Distributed Computing</b>: Native support for multi-GPU/multi-node execution through NCCL integration</li>
<li><b>Operator Registry</b>: Extensible layer registration system supporting custom kernel development</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>Runtime graph validation occurs during first forward pass</li>
<li>Device memory allocation patterns adapt to available VRAM</li>
<li>Use Model::Finalize() before deployment for graph optimization</li>
</ul>
</dd></dl>
<dl class="section author"><dt>Author</dt><dd>Mgepahmge(<a href="https://github.com/Mgepahmge">https://github.com/Mgepahmge</a>)</dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024/06/18 </dd></dl>

<p class="definition">Definition in file <a class="el" href="_model_8cuh_source.html">Model.cuh</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
